4
תגובות

CALLBACK ב JQUERY

פתח ghgh ,
יש לי קריאה לAJAX שמכניסה את הנתונים לתוך דיב.
ועכשיו ברגע שזה קורה אני רוצה לקבל את מספר האלמנטים שבדיב (שהאלמנטים הללו הגיעו מהAJAX)

אני יודע שמשתמשים בsize() או ב length.
הבעייה שהוא רושם לי שיש 0 אלמנטים - בגלל שזה מתבצע ביחד עם הקריאה לAJAX - שאז עדיין הדיב ריק (כי הAJAX מדפיס את הנתונים לדיב..)
כלומר אני צריך לבצע פעולת CALLBACK - שהוא יספור את האלמנטים לאחר שהם כבר בדיב.

ולא יעזור רק למקם את הספירה לאחר הAJAX - כי זה באותו פונקצייה אז הJS קורא את זה "בנשימה אחת".

מקווה שהבנתם.
איך אפשר?..

4 תשובות

avatar ענה ldbrgr ב 14 לינואר 2013 #

לא הבנתי בכלל, דוגמאות קוד יעזרו (מה שיש לך עכשיו)..
בכל מקרה.. רעיון: תקרא את האלמנטים ש AJAX החזיר ותוסיף אותם לספירה קיימת כבר.

avatar ענה iiddaannyy ב 14 לינואר 2013 #

בתוסף של ה-ajax יש לך פונקציית success שמופעלת לאחר שהתקבלה תשובה מהשרת.
בפונקציה הזו, לאחר הכנסת הנתונים לדיב תפעיל את הקוד שסופר את האלמנטים.

avatar ענה ghgh ב 14 לינואר 2013 #

^זה נכון. ואני רוצה לעשות כזה דבר בדיוק אבל ללא קשר לAJAX.
כלומר שלוחצים על כפתור אז תעשה אירוע כלשהוא ורק אחרי שזה קרה(CALLBACK) תעשה דבר נוסף - איך עושים את זה?

לדוגמא: שלוחצים על כפתור, אז תספור למשתמש מ1 עד 10 ורק אחרי שסיימת - תהפוך את הרקע לשחור.

avatar ענה iiddaannyy ב 16 לינואר 2013 #

ברגע שהמספר מגיע ל-10 תפעיל פונקציה שאחראית לצבוע את הרקע בשחור.